package com.changwu.cwbase.AppTest.DesignPattern;

/**
 * Created by changwu on 2018/10/14.
 */
public class AdapterDesign {
    /**
     * 投影仪支持的大口
     * @author liaowp
     *
     */
    public interface BigPort {

        public void userBigPort();//使用的大口
    }

    /**
     * 电脑的小口
     * @author liaowp
     *
     */
    public interface SmallPort {
        public void userSmallPort();//使用小口
    }
    /**
     * 适配器模式
     * @author liaowp
     *
     */
    public class SmallToBig implements BigPort{

        private SmallPort smallPort;//小口

        public SmallToBig(SmallPort smallPort){//获得小口
            this.smallPort=smallPort;
        }

        public void userBigPort() {
            this.smallPort.userSmallPort();    //使用小口
        }

    }
    public  void testAdapterDesign(){
        SmallPort smallPort = new SmallPort() {//电脑自带小口
            public void userSmallPort() {
                System.out.println("使用的是电脑小口");
            }
        };
        //需要一个大口才可以投影,小口转换为大口
        BigPort bigPort=new SmallToBig(smallPort);
        bigPort.userBigPort();//电脑小口工作中    实现了适配
    }
}
